"""
时间工具模块

提供时间戳生成、日期格式化、延时函数等时间相关的工具方法。
"""

import time
import datetime
from functools import wraps


def timestamp():
    """生成当前时间戳"""
    return time.time()


def dt_strftime(fmt="%Y%m"):
    """
    格式化当前日期时间
    :param fmt: 日期时间格式字符串，默认为"%Y%m"
    :return: 格式化后的日期时间字符串
    """
    return datetime.datetime.now().strftime(fmt)


def sleep(seconds=1.0):
    """
    线程休眠指定秒数
    :param seconds: 休眠时间，默认为1秒
    """
    time.sleep(seconds)


def running_time(func):
    """
    函数运行时间装饰器，用于测量函数执行时长
    :param func: 被装饰的函数
    :return: 装饰后的函数
    """
    @wraps(func)
    def wrapper(*args, **kwargs):
        start = timestamp()
        res = func(*args, **kwargs)
        print("校验元素done！用时%.3f秒！" % (timestamp() - start))
        return res
    
    return wrapper


if __name__ == '__main__':
    print(dt_strftime("%Y%m%d %H%M%S"))

